package com.yonyou.marketing.app.api.service;

import java.util.List;
import java.util.Map;

import org.marketing.common.Response;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.yonyou.marketing.app.api.entity.GscReservation;

@FeignClient(name="SERVICE-GETCAR" )
public interface GetCarServiceInterface {
	
	@RequestMapping(value = "/getCar/api/v1/isCanGetSendCar", method = RequestMethod.GET)
	Response<Map<String, Object>> isCanGetSendCar(@RequestParam("dealerCode") String dealerCode);

	@RequestMapping(value = "/getCar/api/v1/saveGscReservation", method = RequestMethod.GET)
	Response<Map<String, Object>> saveGscReservation(@RequestParam("pkId") String pkId);
	
	@RequestMapping(value = "/getCar/api/v1/saveWxOrder", method = RequestMethod.GET)
	Response<Map<String, Object>> saveWxOrder(@RequestParam("pkId") String pkId);
	
	@RequestMapping(value = "/getCar/api/v1/updateWxState", method = RequestMethod.GET)
	Response<Map<String, Object>> updateWxState(@RequestParam("pkId") String pkId
			,@RequestParam("sign") String sign);
	
	@RequestMapping(value = "/getCar/api/v1/cancelCar", method = RequestMethod.GET)
	Response<Map<String, Object>> cancelCar(@RequestParam("etcoId") String etcoId);
	
	@RequestMapping(value = "/getCar/api/v1/searchAddr", method = RequestMethod.GET)
	Response<Map<String, Object>> searchAddr(@RequestParam("searchType") Integer searchType
			,@RequestParam("userId_") String userId_);
	
	@RequestMapping(value = "/getCar/api/v1/searchHistory", method = RequestMethod.GET)
	Response<List<Map<String, Object>>> searchHistory(@RequestParam("addrName") String addrName
			,@RequestParam("userId_") String userId_);
	
	@RequestMapping(value = "/getCar/api/v1/getCarInfo", method = RequestMethod.GET)
	Response<Map<String, Object>> getCarInfo(@RequestParam("userId_") String userId_);
	
	@RequestMapping(value = "/getCar/api/v1/validateGscDistance", method = RequestMethod.POST)
	Response<Map<String, Object>> validateGscDistance(GscReservation gscReservation,@RequestParam("userId_") String userId_);
	
	@RequestMapping(value = "/getCar/api/v1/queryCar", method = RequestMethod.GET)
	Response<List<Map<String, Object>>> queryCar(@RequestParam("userId_") String userId_);
	
	@RequestMapping(value = "/getCar/api/v1/queryQscDetail", method = RequestMethod.GET)
	Response<Map<String, Object>> queryQscDetail(@RequestParam("etcoId") String etcoId);
	
	@RequestMapping(value = "/getCar/api/v1/queryQscProgress", method = RequestMethod.GET)
	Response<Map<String, Object>> queryQscProgress(@RequestParam("etcoId") String etcoId);
	
	@RequestMapping(value = "/getCar/api/v1/queryQscTrack", method = RequestMethod.GET)
	Response<Map<String, Object>> queryQscTrack(@RequestParam("etcoId") String etcoId);
	
	@RequestMapping(value = "/getCar/api/v1/queryDriverinfo", method = RequestMethod.GET)
	Response<Map<String, Object>> queryDriverinfo(@RequestParam("etcoId") String etcoId);
}
